<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    網絡爬蟲怎么加代理


    發現錯別字 3年前 提問
    回答
    1
    瀏覽
    234
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    上官雨寶
    CISM-WSE 中級信息安全等級測評師

    requests調用代理

      import requests
    
      proxy='123.58.10.36:8080' #本地代理
    
      #proxy='username:password@123.58.10.36:8080'
    
      proxies={
    
      'http':'http://'+proxy,
    
      'https':'https://'+proxy
    
      }
    
      try:
    
      response=requests.get('http://httpbin.org/get',proxies=proxies)
    
      print(response.text)
    
      except requests.exceptions.ConnectionError as e:
    
      print('錯誤:',e.args)

    Selenium調用代理
    selenium加上代理,selenium主要是實現自動化登錄驗證等操作

    from selenium import webdriver
    proxy='123.58.10.36:8080'
    chrome_options=webdriver.ChromeOptions()
    chrome_options.add_argument('--proxy-server=http://'+proxy)
    browser=webdriver.Chrome(chrome_options=chrome_options)
    browser.get('http://httpbin.org/get')

    調用 ProxyHandler 添加 代理

    from urllib import request
    
    url = 'www.baidu.com'
    
    # 設置代理
    handler = request.ProxyHandler({'http':'ip:port'})
    opener = request.bulid_opener(handler)
    
    # 發送請求
    req = request.Request(url=url)
    response = opener.open(req)

    在 scrapy下載中間件添加代理
    middlewares.py 自定義一個代理類,重寫 process_request 方法

    class MyDaiLi(object):
      """docstring for MyDaiLi"""
       # 重寫這個方法
       def process_request(self, request, spider):
             request.meta['proxy'] = 'http://ip:port'

    settings.py (第55行)打開下載中間件,并將自定義的 MyDaiLi添加進去

    DOWNLOADER_MIDDLEWARES = {   'daili_loginproject.middlewares.MyDaiLi': 543,
     }

    回答所涉及的環境:聯想天逸510S、Windows 10。

    3年前 / 評論
    亚洲 欧美 自拍 唯美 另类